package cn.com.headfree.mouldshow.service;

import cn.com.headfree.entity.*;
import cn.com.headfree.entity.isc.User;
import cn.com.headfree.mouldshow.vo.TPerformanceScoreVo;
import com.gta.edu.sdk.common.dto.Page;

import java.util.List;

/**
 * 数据导入模块的临时表信息 服务接口
 * @author smyl
 * @date 2020-06-23 15:59:50
 */
public interface HumanDataTempService {

    //基本信息临时
    void getTEmpBaseInfoTempPageList(Page<TEmpBaseInfoTemp> page,String userName,String erpNo,String orgId);

    //学历信息临时
    void getTEducateInfoTempPageList(Page<TEducateInfoTemp> page,String userName,String erpNo,String orgId);

    //工作经历临时
    void getTWorkExpInfoTempPageList(Page<TWorkExpInfoTemp> page,String userName,String erpNo,String orgId);

    //继续教育及培训经历临时
    void getTContiStudyInfoTempPageList(Page<TContiStudyInfoTemp> page,String userName,String erpNo,String orgId);

    //个人荣誉信息临时
    void getTHonorInfoTempPageList(Page<THonorInfoTemp> page,String userName,String erpNo,String orgId);

    //竞赛考试信息临时
    void getTContestInfoTempPageList(Page<TContestInfoTemp> page,String userName,String erpNo,String orgId);

    //专家人才信息临时
    void getTExpertTitleInfoTempPageList(Page<TExpertTitleInfoTemp> page,String userName,String erpNo,String orgId);

    //专业技术资格信息临时
    void getTProTecInfoTempPageList(Page<TProTecInfoTemp> page,String userName,String erpNo,String orgId);

    //技能等级信息临时
    void getTSkillLevelInfoTempPageList(Page<TSkillLevelInfoTemp> page,String userName,String erpNo,String orgId);

    //导师带徒信息临时
    void getTSdtTutorPrentInfoTempPageList(Page<TSdtTutorPrentInfoTemp> page,String userName,String erpNo,String orgId);

    //年度绩效临时
    void getTYearEffectInfoTempPageList(Page<TYearEffectInfoTemp> page,String userName,String erpNo,String orgId);

    //学术成果临时
    void getTAcadeAchiveInfoTempPageList(Page<TAcadeAchiveInfoTemp> page,String userName,String erpNo,String orgId);

    //标准制定信息临时
    void getTStandInfoTempPageList(Page<TStandInfoTemp> page,String userName,String erpNo,String orgId);

    //专利信息临时
    void getTPatentInfoTempPageList(Page<TPatentInfoTemp> page,String userName,String erpNo,String orgId);

    //技艺革新信息临时
    void getTTecInnovInfoTempPageList(Page<TTecInnovInfoTemp> page,String userName,String erpNo,String orgId);

    //科技创新成果信息临时
    void getTTecManInnovTempPageList(Page<TTecManInnovTemp> page,String userName,String erpNo,String orgId);

    //项目课题成果信息临时
    void getTProjAchieveInfoTempPageList(Page<TProjAchieveInfoTemp> page,String userName,String erpNo,String orgId);

    //员工流动信息临时
    void getTEmployeeMobilityTempPageList(Page<TEmployeeMobilityTemp> page,String userName,String erpNo,String orgId);

    //挂职轮岗信息临时
    void getTRotationInfoTempPageList(Page<TRotationInfoTemp> page,String userName,String erpNo,String orgId);

    //绩效积分信息临时
    void getTPerformanceScoreTempPageList(Page<TPerformanceScoreTemp> page,String userName,String erpNo,String orgId);

    /**
     * 导入正式库
     */
    String importHumanDatas(String easyName, List<String> idList, User user);

    /**
     * 根据Id删除信息
     */
    void deleteTempDataInfoById(String easyName,String id);

    /////////////////////////////////////////////////////////根据ID查询单条数据/////////////////////////////////////////////

    //基本信息
    TEmpBaseInfoTemp getTEmpBaseInfoTempById(String id);

    //学历
    TEducateInfoTemp getTEducateInfoTempById(String id);

    //工作经历
    TWorkExpInfoTemp getTWorkExpInfoTempById(String id);

    //培训和授课
    TContiStudyInfoTemp getTContiStudyInfoTempById(String id);

    //个人荣誉
    THonorInfoTemp getTHonorInfoTempById(String id);

    //竞赛考试
    TContestInfoTemp getTContestInfoTempById(String id);

    //专家人才
    TExpertTitleInfoTemp getTExpertTitleInfoTempById(String id);

    //专业资格
    TProTecInfoTemp getTProTecInfoTempById(String id);

    //技能等级
    TSkillLevelInfoTemp getTSkillLevelInfoTempById(String id);

    //导师带徒
    TSdtTutorPrentInfoTemp getTSdtTutorPrentInfoTempById(String id);

    //年度绩效
    TYearEffectInfoTemp getTYearEffectInfoTempById(String id);

    //学术成果
    TAcadeAchiveInfoTemp getTAcadeAchiveInfoTempById(String id);

    //标准制定
    TStandInfoTemp getTStandInfoTempById(String id);

    //专利信息
    TPatentInfoTemp getTPatentInfoTempById(String id);

    //技艺革新
    TTecInnovInfoTemp getTTecInnovInfoTempById(String id);

    //科技创新管理
    TTecManInnovTemp getTTecManInnovTempById(String id);

    //项目课题成果
    TProjAchieveInfoTemp getTProjAchieveInfoTempById(String id);

    //员工流动
    TEmployeeMobilityTemp getTEmployeeMobilityTempById(String id);

    //挂职轮岗
    TRotationInfoTemp getTRotationInfoTempById(String id);

    //挂职轮岗
    TPerformanceScoreTemp getTPerformanceScoreTempById(String id);

    /////////////////////////////////////////////////////////根据ID修改单条数据/////////////////////////////////////////////

    /*
    *基本信息
     */
    void updateBaseInfoTempById(TEmpBaseInfoTemp tEmpBaseInfoTemp);

    /*
    *学历
     */
    void updateTEducateInfoTempById(TEducateInfoTemp tEducateInfoTemp);

    /*
    *工作经历
     */
    void updateTWorkExpInfoTempById(TWorkExpInfoTemp tWorkExpInfoTemp);

    /*
    *培训和授课
     */
    void updateTContiStudyInfoTempById(TContiStudyInfoTemp tContiStudyInfoTemp);

    /*
    *个人荣誉
     */
    void updateTHonorInfoTempById(THonorInfoTemp tHonorInfoTemp);

    /*
    *竞赛考试
     */
    void updateTContestInfoTempById(TContestInfoTemp tContestInfoTemp);

    /*
    *专家人才
     */
    void updateTExpertTitleInfoTempById(TExpertTitleInfoTemp tExpertTitleInfoTemp);

    /*
    *专业资格
     */
    void updateTProTecInfoTempById(TProTecInfoTemp tProTecInfoTemp);

    /*
    *技能等级
     */
    void updateTSkillLevelInfoTempById(TSkillLevelInfoTemp tSkillLevelInfoTemp);

    /*
    *导师带徒
     */
    void updateTSdtTutorPrentInfoTempById(TSdtTutorPrentInfoTemp tSdtTutorPrentInfoTemp,User user);

    /*
    *年度绩效
     */
    void updateTYearEffectInfoTempById(TYearEffectInfoTemp tYearEffectInfoTemp);

    /*
    *学术成果
     */
    void updateTAcadeAchiveInfoTempById(TAcadeAchiveInfoTemp tAcadeAchiveInfoTemp,User user);

    /*
    *标准制定
     */
    void updateTStandInfoTempById(TStandInfoTemp tStandInfoTemp,User user);

    /*
    *专利信息
     */
    void updateTPatentInfoTempById(TPatentInfoTemp tPatentInfoTemp,User user);

    /*
    *技艺革新
     */
    void updateTTecInnovInfoTempById(TTecInnovInfoTemp tTecInnovInfoTemp,User user);

    /*
    *科技创新管理
     */
    void updateTTecManInnovTempById(TTecManInnovTemp tTecManInnovTemp,User user);

    /*
    *项目课题成果
     */
    void updateTProjAchieveInfoTempById(TProjAchieveInfoTemp tProjAchieveInfoTemp,User user);

    /*
    *绩效积分
     */
    void updateTPerformanceScoreTempById(TPerformanceScoreTemp tPerformanceScoreTemp);

    //查询人员绩效积分信息
    void searchPerformanceScoreList(Page<TPerformanceScoreVo> page, TPerformanceScoreVo tPerformanceScoreVo);

}

